

#ifndef AUDIO_FILE_OUT_H
#define AUDIO_FILE_OUT_H
#include <vector>;
#include <string>;

#include <Audio\AudioFile.h>
#include <Config\Config.h>
#include <Config\ParserFileName.h>



namespace audio {		// begin library specific namespace
	class DllExport AudioFileOut : public audio::AudioFile{
		std::vector<float *> channels;
		std::string dir;
		LENGTH_TYPE legth;
		LENGTH_TYPE resplution;
		LENGTH_TYPE samplerate;
		float avg_frequency = 0.0;
		Option *option;
		PaserName *paserName;
	private:
		std::string getNewName();
	public:
		AudioFileOut(const AudioFileOut &src);
		AudioFileOut(PaserName &name, Option &option, LENGTH_TYPE legth, LENGTH_TYPE resplution, LENGTH_TYPE samplerate, std::string dir = "");
		AudioFileOut(AudioFile &src, PaserName &name, Option &option, std::string dir = "");
		void AddChannel(DATA_TYPE *dataCh);
		void setAvgFrequency(float avg);
		void Save();
		void Save(std::string name);
		~AudioFileOut();
	};
}	// end library specific namespace

#endif

